package com.cqjtu.eecs.entity;

import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * <p>
 * 培养方案-课程
 * </p>
 *
 * @author
 * @since 2022-03-07
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="ProjectCourse对象", description="培养方案-课程")
public class ProjectCourse implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "培养方案-课程 编号")
    @TableId(value = "project_course_id", type = IdType.AUTO)
    private Integer projectCourseId;

    @ApiModelProperty(value = "培养方案编号")
    private Integer pid;

    @ApiModelProperty(value = "课程类别编号")
    private Integer courseTypeId;

    @ApiModelProperty(value = "课程编号")
    private Integer courseId;

    @ApiModelProperty(value = "课程代码")
    private String courseCode;

    @ApiModelProperty(value = "开课学期")
    private String term;

    @ApiModelProperty(value = "学分")
    private BigDecimal credit;

    @ApiModelProperty(value = "考核方式")
    private String evaluationMode;

    @ApiModelProperty(value = "课程性质")
    private String courseProperty;

    @ApiModelProperty(value = "学时")
    private Integer period;

    @ApiModelProperty(value = "理论学时")
    private Integer theoryPeriod;

    @ApiModelProperty(value = "实践学时")
    private Integer practicalPeriod;

    @ApiModelProperty(value = "上机学时")
    private Integer computerPeriod;

    @ApiModelProperty(value = "实验学时")
    private Integer expeirmentPeriod;

    public ProjectCourse() {
    }

    public ProjectCourse(Integer projectCourseId,
                         Integer pid,
                         Integer courseTypeId,
                         Integer courseId,
                         String courseCode,
                         String term, BigDecimal credit,
                         String evaluationMode, String courseProperty,
                         Integer period, Integer theoryPeriod,
                         Integer practicalPeriod,
                         Integer computerPeriod, Integer expeirmentPeriod) {
        this.projectCourseId = projectCourseId;
        this.pid = pid;
        this.courseTypeId = courseTypeId;
        this.courseId = courseId;
        this.courseCode = courseCode;
        this.term = term;
        this.credit = credit;
        this.evaluationMode = evaluationMode;
        this.courseProperty = courseProperty;
        this.period = period;
        this.theoryPeriod = theoryPeriod;
        this.practicalPeriod = practicalPeriod;
        this.computerPeriod = computerPeriod;
        this.expeirmentPeriod = expeirmentPeriod;
    }
}
